home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / CMAcceleration.a < prev    next >
Text File  |  1996-05-01  |  5KB  |  117 lines

  1. ;
  2. ;    File:        CMAcceleration.a
  3. ;
  4. ;    Contains:    ColorSync 2.0 Acceleration Component Interfaces
  5. ;
  6. ;    Version:    Technology:    ColorSync 2.0
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__CMACCELERATION__') = 'UNDEFINED' THEN
  19. __CMACCELERATION__ SET 1
  20.  
  21.     IF &TYPE('__MEMORY__') = 'UNDEFINED' THEN
  22.     include 'Memory.a'
  23.     ENDIF
  24.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  25.     include 'Components.a'
  26.     ENDIF
  27.     IF &TYPE('__CMAPPLICATION__') = 'UNDEFINED' THEN
  28.     include 'CMApplication.a'
  29.     ENDIF
  30.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  31. ;  -------------------------------------- version info 
  32.  
  33. cmAccelerationInterfaceVersion    EQU        1
  34. ;  -------------------------------------- Component Type 
  35.  
  36. cmAccelerationComponentType        EQU        'csac'
  37. ;  -------------------------------------- Required Component function selectors 
  38.  
  39. cmLoadTables                    EQU        0
  40. cmCalculateData                    EQU        1
  41. ;  -------------------------------------- table data for acceleration component 
  42. CMAccelerationTableData    RECORD 0
  43. inputLutEntryCount         ds.l    1                ; offset: $0 (0)        ;  count of entries for input lut for one dimension
  44. inputLutWordSize         ds.l    1                ; offset: $4 (4)        ;  count of bits of each entry ( e.g. 16 for WORD )
  45. inputLut                 ds.l    1                ; offset: $8 (8)        ;  handle to input lut
  46. outputLutEntryCount         ds.l    1                ; offset: $C (12)        ;  count of entries for output lut for one dimension    
  47. outputLutWordSize         ds.l    1                ; offset: $10 (16)        ;  count of bits of each entry ( e.g. 8 for BYTE )
  48. outputLut                 ds.l    1                ; offset: $14 (20)        ;  handle to output lut
  49. colorLutInDim             ds.l    1                ; offset: $18 (24)        ;  input dimension  ( e.g. 3 for LAB ; 4 for CMYK )
  50. colorLutOutDim             ds.l    1                ; offset: $1C (28)        ;  output dimension ( e.g. 3 for LAB ; 4 for CMYK )
  51. colorLutGridPoints         ds.l    1                ; offset: $20 (32)        ;  count of gridpoints for color lut ( for one Dimension )    
  52. colorLutWordSize         ds.l    1                ; offset: $24 (36)        ;  count of bits of each entry ( e.g. 8 for BYTE )
  53. colorLut                 ds.l    1                ; offset: $28 (40)        ;  handle to color lut
  54. inputColorSpace             ds.l    1                ; offset: $2C (44)        ;  packing info for input
  55. outputColorSpace         ds.l    1                ; offset: $30 (48)        ;  packing info for output
  56. userData                 ds.l    1                ; offset: $34 (52)
  57. reserved1                 ds.l    1                ; offset: $38 (56)
  58. reserved2                 ds.l    1                ; offset: $3C (60)
  59. reserved3                 ds.l    1                ; offset: $40 (64)
  60. reserved4                 ds.l    1                ; offset: $44 (68)
  61. reserved5                 ds.l    1                ; offset: $48 (72)
  62. sizeof                     EQU *                    ; size:   $4C (76)
  63.                         ENDR
  64. ; typedef struct CMAccelerationTableData * CMAccelerationTableDataPtr
  65.  
  66. ; typedef CMAccelerationTableDataPtr *    CMAccelerationTableDataHdl
  67.  
  68. ;  -------------------------------------- calc data for acceleration component 
  69. CMAccelerationCalcData    RECORD 0
  70. pixelCount                 ds.l    1                ; offset: $0 (0)        ;  count of input pixels
  71. inputData                 ds.l    1                ; offset: $4 (4)        ;  input array
  72. outputData                 ds.l    1                ; offset: $8 (8)        ;  output array
  73. reserved1                 ds.l    1                ; offset: $C (12)
  74. reserved2                 ds.l    1                ; offset: $10 (16)
  75. sizeof                     EQU *                    ; size:   $14 (20)
  76.                         ENDR
  77. ; typedef struct CMAccelerationCalcData * CMAccelerationCalcDataPtr
  78.  
  79. ; typedef CMAccelerationCalcDataPtr *    CMAccelerationCalcDataHdl
  80.  
  81. ;
  82. ; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
  83. ;                A c c e l e r a t i o n   C o m p o n e n t   I n t e r f a c e s
  84. ; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
  85. ;
  86. ;
  87. ; pascal CMError CMAccelerationLoadTables(ComponentInstance CMSession, CMAccelerationTableDataPtr tableData)
  88. ;
  89.     IF ¨ GENERATINGCFM THEN
  90.         Macro
  91.         _CMAccelerationLoadTables
  92.             move.l              #$00040000,-(sp)
  93.             moveq               #0,D0
  94.             dc.w                $A82A
  95.         EndM
  96.     ELSE
  97.         IMPORT_CFM_FUNCTION CMAccelerationLoadTables
  98.     ENDIF
  99.  
  100. ;
  101. ; pascal CMError CMAccelerationCalculateData(ComponentInstance CMSession, CMAccelerationCalcDataPtr calcData)
  102. ;
  103.     IF ¨ GENERATINGCFM THEN
  104.         Macro
  105.         _CMAccelerationCalculateData
  106.             move.l              #$00040001,-(sp)
  107.             moveq               #0,D0
  108.             dc.w                $A82A
  109.         EndM
  110.     ELSE
  111.         IMPORT_CFM_FUNCTION CMAccelerationCalculateData
  112.     ENDIF
  113.  
  114.     ENDIF
  115.     ENDIF ; __CMACCELERATION__ 
  116.  
  117.